var regexEnum = {
	inte:		"^\\d+$",
	intege:		"^([+-]?)\\d*$",					//整数
	intege1:	"^([+]?)\\d*$",						//正整数
	intege2:	"^-\\d+$",							//负整数
	num:		"^([+-]?)\\d*\\.?\\d+$",			//数字
	num1:		"^([+]?)\\d*\\.?\\d+$",				//正数
	num2:		"^-\\d*\\.?\\d+$",					//负数
	decmal:		"^([+-]?)\\d*\\.\\d+$",				//浮点数
	decmal1:	"^([+]?)\\d*\\.\\d+$",				//正浮点数
	decmal2:	"^-\\d*\\.\\d+$",					//负浮点数
	email:		"^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$",	//邮件
	color:		"^[a-fA-F0-9]{6}$",					//颜色
	url:		"^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-./?%&=]*)?$",	//url
	chinese:	"^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$",						//仅中文
	ascii:		"^[\\x00-\\xFF]+$",					//仅ACSII字符
	zipcode:	"^\\d{6}$",							//邮编
	mobile:		"^1[358][0-9]{9}$",				//手机
	ip4:		"^(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5]).(\\d{1,2}|1\\d\\d|2[0-4]\\d|25[0-5])$",				//ip地址
	notempty:	"^\\S+$",							//非空
	picture:	"^(\\w+)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga)$",	//图片
	rar:		"(.*)\\.(rar|zip|7zip|tgz)$",								//压缩文件
	date:		"^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}$",					//日期
	time:		"^\\d{4}(\\-|\\/|\.)\\d{1,2}\\1\\d{1,2}\\s\\d{1,2}:\\d{1,2}:\\d{1,2}$",				//日期时间
	qq:			"^[1-9]*[1-9][0-9]*$",				//QQ号码
	tel:		"(\\d{3}-|\\d{4}-)?(\\d{8}|\\d{7})",//国内电话
	username:	"^[_a-zA-Z]\\w{2,15}$",				//用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
	password:	"^\\w{4,16}$",
	letter:		"^[A-Za-z]+$",						//字母
	letter_u:	"^[A-Z]+$",							//大写字母
	letter_l:	"^[a-z]+$",							//小写字母
	idcard:		"^[1-9]([0-9]{14}|[0-9]{17})$",		//身份证
	chars:		"^[_a-zA-Z]?\\w*$",					//普通字符：字母、数字、下划线
	charRequire:"^[_a-zA-Z]\\w*$",
	Orient:		"[\\w\\u4e00-\\u9fa5]+"				// 包括中文在内的字符
}

var aCity={11:"北京",12:"天津",13:"河北",14:"山西",15:"内蒙古",21:"辽宁",22:"吉林",23:"黑龙江",31:"上海",32:"江苏",33:"浙江",34:"安徽",35:"福建",36:"江西",37:"山东",41:"河南",42:"湖北",43:"湖南",44:"广东",45:"广西",46:"海南",50:"重庆",51:"四川",52:"贵州",53:"云南",54:"西藏",61:"陕西",62:"甘肃",63:"青海",64:"宁夏",65:"新疆",71:"台湾",81:"香港",82:"澳门",91:"国外"}

function isCardID(sId) {
	var iSum = 0;
	var info = "";
	if(!/^\d{17}(\d|x)$/i.test(sId))
		return "你输入的身份证长度或格式错误";
	sId = sId.replace(/x$/i, "a");
	if(aCity[parseInt(sId.substr(0, 2))] == null)
		return "你的身份证地区非法";
	sBirthday = sId.substr(6, 4) + "-" + Number(sId.substr(10, 2)) + "-" + Number(sId.substr(12, 2));
	var d = new Date(sBirthday.replace(/-/g, "/"));
	if(sBirthday != (d.getFullYear() + "-" + (d.getMonth() + 1) + "-" + d.getDate()))
		return "身份证上的出生日期非法";
	for(var i = 17; i >= 0; i--)
		iSum += (Math.pow(2, i) % 11) * parseInt(sId.charAt(17 - i), 11);
	if(iSum % 11 != 1)
		return "你输入的身份证号非法";
	return true;
	//aCity[parseInt(sId.substr(0,2))]+","+sBirthday+","+(sId.substr(16,1)%2?"男":"女")
}
